package com.mauroleon.promotail.service.impl;

import java.util.List;

import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Service;

import com.mauroleon.base.service.impl.MongoBaseServiceImpl;
import com.mauroleon.promotail.domain.Promocion;
import com.mauroleon.promotail.domain.PromocionInfo;
import com.mauroleon.promotail.mongo.dao.PromocionDAO;
import com.mauroleon.promotail.mongo.dao.PromocionInfoDAO;
import com.mauroleon.promotail.service.PromocionService;

@Service
public class PromocionServiceImpl extends
		MongoBaseServiceImpl<Promocion, ObjectId> implements PromocionService {

	@Autowired
	private PromocionDAO promocionDAO;

	@Autowired
	private PromocionInfoDAO promocionInfoDAO;

	@Override
	protected MongoRepository<Promocion, ObjectId> getBaseDAO() {
		return promocionDAO;
	}

	@Override
	public List<PromocionInfo> buscarPromocionesPorCategoria(
			Integer codigoCategoria) {
		return promocionInfoDAO.findPromocionInfoByidCategoria(codigoCategoria);
	}

	@Override
	public List<Promocion> buscarPromocionesPorDistrito(String nombreDistrito) {
		return promocionDAO.findPromocionBydistritoLocal(nombreDistrito);
	}

	@Override
	public List<Promocion> buscarPromocionesPorLocal(Integer idLocal) {
		return promocionDAO.findPromocionByidLocal(idLocal);
	}

	@Override
	public List<Promocion> buscarPromocionesPorEstado(Integer estadoPromocion) {
		return promocionDAO.findPromocionByestadoPromocion(estadoPromocion);
	}

}
